package vista;

import java.awt.event.ActionListener;
import java.awt.event.WindowListener;
import java.io.File;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class InterfazGraficaPrincipal 
{
	private JMenuBar barraMenu;
	private JMenu mGeneral,mFactura,mReportes;
	private  JMenuItem menitClientes,menitProveedores,
	                   menitCategorias,menitProductos,
	                   menitIngredientes,menitSalir;
	private JMenuItem meniFactVenta,meniFactCompra;
	private JMenuItem meniVentas,meniIngredientes;
	private Ventana ventana;
	
	public InterfazGraficaPrincipal()
	{
		ImageIcon imgLogo= new ImageIcon(getClass().getResource("imagenes" + File.separator + "logo.png"));
		FabricaAbstractaVentana fabricaVentanas= FabricaAbstractaVentana.getInstance();
		ventana= fabricaVentanas.crearVentanaIndependiente();
		
		JLabel lblLogo= new JLabel(imgLogo);
		
		barraMenu= new JMenuBar();
    	mGeneral= new JMenu("General");
    	mFactura = new JMenu("Facturas");
    	mReportes = new JMenu("Reportes");
    	
    	
        menitClientes= new JMenuItem("Clientes");
    	menitProveedores= new JMenuItem("Proveedores");
    	menitIngredientes= new JMenuItem("Ingredientes");
    	menitCategorias= new JMenuItem("Categorias");
        menitProductos= new JMenuItem("Productos");
        menitSalir= new JMenuItem("Salir");
         
         
        meniFactVenta = new JMenuItem("Factura Compra");
        meniFactCompra = new JMenuItem("Factura Venta");
        
        meniVentas = new JMenuItem("Reporte Ventas");
        meniIngredientes = new JMenuItem("Reporte Ingredientes");
            
        mGeneral.add(menitClientes);
        mGeneral.add(menitProveedores);
        mGeneral.add(menitIngredientes);
        mGeneral.add(menitCategorias);
        mGeneral.add(menitProductos);
        mGeneral.addSeparator();
        mGeneral.add(menitSalir);
         
        mFactura.add(meniFactVenta);
        mFactura.add(meniFactCompra);
        
        
        mReportes.add(meniIngredientes);
        mReportes.add(meniVentas);
        
         
    	barraMenu.add(mGeneral);
    	barraMenu.add(mFactura);
    	barraMenu.add(mReportes);
    	
    	ventana.asignarBarraMenu(barraMenu);
    	ventana.agregarComponente(lblLogo, 120, 0, 500, 480);
    	
    	ventana.asignarTamanio(756, 520);
    	 
	}
	
	public void visualizarVentana()
	{
		ventana.visualizar();
	}
	
	public void ocultarVentana()
	{
		ventana.ocultar();
	}
	
	public void descargarMemoria()
	{
		ventana.descargarMemoria();
	}
	
	public void addListener(ActionListener actionListener)
    {
   	    menitClientes.addActionListener(actionListener);
   	    menitProveedores.addActionListener(actionListener);
        menitCategorias.addActionListener(actionListener);
        menitProductos.addActionListener(actionListener);
        menitIngredientes.addActionListener(actionListener);
        menitSalir.addActionListener(actionListener);
        meniFactVenta.addActionListener(actionListener);
        meniFactCompra.addActionListener(actionListener);
        meniVentas.addActionListener(actionListener);
        meniIngredientes.addActionListener(actionListener);
    }
	
	public void addListener(WindowListener windowListener)
	{
		ventana.addListener(windowListener);
	}

}
